<?php

// 直接アクセスを拒否する
if (!defined("IN_APP"))
	exit("直接アクセスはできません。");

// ログインしたユーザーのみがアクセスできる
if (!isset($_SESSION['twitter_username']))
	exit("ログインしないとアクセスできません。");

include('Twitter/copyListFromDb.php');
	
if (isset($_POST["name"])) 
{
	$decision_name = strpos($_POST["name"],'|');
	
	if (empty($_POST["name"])) {
		exit($MESSAGES['GROUP_CREATE_ENTER_USERNAME']);
	} else if ($decision_name !== false) {
		exit($MESSAGES['GROUP_CREATE_ERROR']);
	} else if (mb_strlen($_POST["name"], 'utf-8') > 25) {
		exit($MESSAGES['GROUP_CREATE_NAME_TOO_LONG']);
	}
	
	$name = $_POST["name"];
	$error = false;
	$success = false;
	
	//**********************************************************
	// DB接続
	//**********************************************************
	$connect = connectToDb();
	
	$user_id = $_SESSION['user_id'];
	
	if (!$user_id) {
		exit("ログインされたユーザーが見つかりません。");
	}
	
	// グループが存在するかどうかの確認
	$query = sprintf("SELECT * FROM groups WHERE title = '%s' AND owner_id = %s ", 
							mysql_real_escape_string($name),
							mysql_real_escape_string($user_id));
	$query.= "AND (del_flag <> 'd' OR del_flag IS NULL)";
	
	$result = mysql_query($query, $connect);
	
	if ( !$result ) {
		die("Invalid query: \n$query\n\n	" . mysql_error());
	}
	else {
		$row = mysql_fetch_assoc($result);
		
		if ($row) {
			$error = "グループは既に存在します。";
		}
	}

	$params = array("screen_name" => $_SESSION['twitter_username']);

	$lists = $twitter->get_lists($params)->response;
		
	foreach ($lists['lists'] as $list) {
		if (strtolower($list['name']) == strtolower($name)) {
			$error = $MESSAGES['GROUP_CREATE_ALREADY_EXIST'];
		}
	}

	if (!$error) {
		$params = array();
		$params['name'] = $name;
		$params['mode'] = "public";
		$params['description'] = "circle-managerから作成されたリストです。";

		try {
			$listCreate = $twitter->post_listsCreate($params);
		}
		catch (Exception $e) {
			exit($MESSAGES['GROUP_CREATE_NAME_ERROR']);	
		}

		if ($listCreate->response) {
			$success = true;
		}

		if ($success) {
			// データベースに追加する
			$query = sprintf("INSERT INTO groups (title, owner_id) VALUES ('%s', %s)", 
								mysql_real_escape_string($name),
								mysql_real_escape_string($user_id));

			if ( !mysql_query($query, $connect) ) {
				die('Invalid query: $query - ' . mysql_error());
			}
			
			$group_id = mysql_insert_id();
					
			// データベースに追加する
			$query = sprintf("INSERT INTO group_members (group_id, user_id) VALUES (%s, %s)", 
								mysql_real_escape_string($group_id),
								mysql_real_escape_string($_SESSION['user_id']));

			if ( !mysql_query($query, $connect) ) {
				die('Invalid query: $query - ' . mysql_error());
			}
			
			try {
				$twitter_username = getTwitterUsername($connect, $user_id);
				copyListFromDb($twitter_username, $group_id);
			}
			catch (Exception $e) { }	
			
			selectGroup($group_id);
			mysql_close($connect);
			exit("success");
		}
	}
	else {
		mysql_close($connect);
		exit($error);
	}
}
?>